Sequence-to-Nuggets Nested Entity Mention Detection via Anchor-Region Networks

本文解决的是嵌套命名实体识别问题,提出了基于head-driven phrase structures的方法ARN,并且针对于无额外anchor word标注的数据集提出了bag loss。 ACL2019

paper link
code link

Introduction

基于序列标注的命名实体识别(NER)方法,一个词只能属于于一个实体,如果遇到嵌套的(nested)的实体就会出现问题,如图1:

Figure  1:  An  example  of  nested  entity  mentions.  Due to  the  nested  structure,  “the”,“department”,“of”  and
“education”  belong  to  both PER and ORG mentions.

在ACE2005 和 GENIA数据集中有20%、10%左右的这种实体,具体的数据集的分析见《A Neural Layered Model for Nested Named Entity Recognition》的附录,ACL2019的文章《NNE: A Dataset for Nested Named Entity Recognition in English Newswire》提出了一个新的基于PTB数据的含有55%嵌套实体的数据集。

本文提出的Anchor-Region Networks(ARNs)基于两种假设:

  • 尽管实体可能会有嵌套关系,但是不会共享同一个head word(anchor word),即不同的实体具有不同的head word,同时head word与实体类型有很强的语义关系。例如图1中The minister of the department of educationthe department of education 分别对应head words minister department,并且分别对应实体类型ORGPER
  • 大部分的实体具有规则的表达结构。例如图1中的两个实体共享DET NN of NP的结构,NN即为head words。

因此,ARNs识别分为两步:

  • 用anchor detector network找出anchor word同时判断其对应的实体类别
  • 用region recognizer network识别出以不同anchor word为中心的实体的边界

Figure  2:  The  overall  architecture  of  ARNs.  Here “minister”  and  “department”  are  detected  anchor words for  two  mentions  respectively.

Anchor-Region Networks for Nested Entity Mention Detection

Anchor Detector

Anchor Detector是一个基于BiLSTM的softmax分类器,给定序列 $x_{1},…, x_{n}$,先得到其向量表示(由词向量,词性,字符向量组成),然后再通过BiLSTM层,最后对隐层状态做分类:

$$
\overrightarrow{h_{i}^{A}} =\operatorname{LSTM}\left(x_{i}, \overrightarrow{h_{i-1}^{A}}\right)
$$

$$ \hat{h_{i}^{A}} =\operatorname{LSTM}\left(x_{i}, \overleftarrow{h_{i+1}^{A}}\right) $$

$$h_{i}^{A} =\left[\overrightarrow{h_{i}^{A}} ; \overleftarrow{h_{i}^{A}}\right] $$

$$
O_{i}^{A}=\operatorname{MLP}\left(h_{i}^{A}\right)
$$

其中$O_{i}^{A} \in R^{|C|}$,$|C|$是实体类型数(包括不属于任意实体类型NIL)。

Region Recognizer

使用region recognizer network确定mention nugget,也就是确定实体的边界,如图1确定anchor word“mnister”的mention nugget是“the department of education”。 受到指针网络的启发,作者设计了一种pointer-based结构来识别实体的边界。

作者认为局部特征对于实体的识别很重要(如,动词前的名词常常是实体)。因此,作者使用CNN来提取句子的局部特征。与anchor detector类似,首先经过BiLSTM得到每个词的基于上下文的特征表示$h_{i}^{R}$,然后使用CNN计算卷积:
$$
\boldsymbol{r}_{\boldsymbol{i}}=\tanh \left(\boldsymbol{W} \boldsymbol{h}_{\boldsymbol{i}-\boldsymbol{k} : \boldsymbol{i}+\boldsymbol{k}}^{\boldsymbol{R}}+\boldsymbol{b}\right)
$$
$\boldsymbol{h}_{\boldsymbol{i}-\boldsymbol{k} : \boldsymbol{i}+\boldsymbol{k}}$是 $h_{i-k}^{R}$ 到 $h_{i+k}^{R}$的拼接,W是卷积核,k是窗口大小。最后计算achor word $w_{i}$ 左右边界在 word $w_{j}$上的分数:
$$
L_{i j} =\tanh \left(r_{j}^{T} \Lambda_{1} h_{i}^{R}+U_{1} r_{j}+b_{1}\right)
$$
$$
R_{i j} =\tanh \left(r_{j}^{T} \Lambda_{2} h_{i}^{R}+U_{2} r_{j}+b_{2}\right)
$$
分别选取分数最高的左边界$x_{j}$、右边界$x_{k}$就得到了完整实体。

Model Learning with Bag Loss

由于现有的NER数据集并没有anchor words的标注,所以作者设计了新的Bag Loss,基于假设:每一个实体有至少一个anchor word,把属于同最内部的实体的所有词作为一个bag,从最内层开始分,如{the, minister, of}形成一个PER bag,{the, department, of education} 形成一个ORG bag,三个NIL bag {convened}, {a}和{meeting}。

根据划分bag的规则,可以得到,一个词$x_{i}$对应的训练样本是一个元组 $x=(x_{i}, x_{j}, x_{k}, c_{i})$(一个实体的含有多个这种元组),对于一个词,bag loss会有两种情况:

  • 如果$x_{i}$是anchor word,loss是anchor detector loss与region recognizer loss之和。

  • 如果$x_{i}$不是anchor word,$x_{i}$应该被分为NIL,loss只有anchor detector loss一部分。

最终的loss两种loss加权求和,得到:

其中$L^{R}\left(x_{i} ; \theta\right)$是region recognizer loss:

而权重$\omega_{i}$是anchor word与bag的类型的相关性:
$$
\omega_{i}=\left[\frac{P\left(c_{i} | x_{i}\right)}{\max _{x_{t} \in B_{i}} P\left(c_{i} | x_{t}\right)}\right]^{\alpha}
$$

Compared with other words in the same bag, a word $x_{i}$ should have larger $w_{i}$ if it has a tighter association with the bag type.
$\alpha = 0$ means that all words are annotated with the bag type. And $\alpha \rightarrow+\infty$ means that Bag Loss will only choose the word with highest P(cijxi) as anchor word, while all other words in the same bag will be regarded as NIL.

Experiments

中的Multi-CRF是对每种实体训练一个单独的CRF,能够识别嵌套命名实体。

观察上表,得出:

1)从LSTM-CRF与Multi-CRF模型的对比,可以看出嵌套命名实体的识别对于实体识别有着很大的影响,需要重视。

2)本文的Anchor-Region Networks 可以有效地识别嵌套命名实体,在ACE2005、GENIA、ARNS数据集上达到了最好的效果。

3)本文的head-driven phrase structure of entity减少了计算复杂度。

Error Analysis


从上表可以看出,anchor dector的F1比完整的模型ARNs的F1高8%左右,错误主要是由于region dector的错误导致的,错误举例如下:

可以看出错误是由于前缀和后缀引起的,可以考虑在模型中加入句法、语法知识来解决这个问题。

Conclusion

本文提出ARNs模型在一定程度上解决了嵌套命名实体识别的问题,但还存在问题,还可以继续优化;本文的head-driven structures可以尝试在别的NLP任务上使用,如,事件抽取。

Reference